home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (c) 1982, 1986 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution is only permitted until one year after the first shipment
- * of 4.4BSD by the Regents. Otherwise, redistribution and use in source and
- * binary forms are permitted provided that: (1) source distributions retain
- * this entire copyright notice and comment, and (2) distributions including
- * binaries display the following acknowledgement: This product includes
- * software developed by the University of California, Berkeley and its
- * contributors'' in the documentation or other materials provided with the
- * distribution and in all advertising materials mentioning features or use
- * of this software. Neither the name of the University nor the names of
- * its contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * @(#)uio.h 7.5 (Berkeley) 6/28/90
- */
-
- #ifndef _UIO_
- #define _UIO_
-
- struct iovec {
- caddr_t iov_base;
- int iov_len;
- };
-
- enum uio_rw { UIO_READ, UIO_WRITE };
-
- /*
- * Segment flag values.
- */
- enum uio_seg {
- UIO_USERSPACE, /* from user data space */
- UIO_SYSSPACE, /* from system space */
- UIO_USERISPACE /* from user I space */
- };
-
- struct uio {
- struct iovec *uio_iov;
- int uio_iovcnt;
- off_t uio_offset;
- int uio_resid;
- enum uio_seg uio_segflg;
- enum uio_rw uio_rw;
- };
-
- /*
- * Limits
- */
- #define UIO_MAXIOV 1024 /* max 1K of iov's */
- #define UIO_SMALLIOV 8 /* 8 on stack, else malloc */
-
- #endif /* !_UIO_ */
-